package core.logic.services.updateServices;

import core.logic.dataAccess.AdresDAO;
import core.logic.dataAccess.LuchthavenDAO;
import core.models.dataModels.createModels.ToevoegenLuchthavenModel;
import core.models.domainModel.Adres;
import core.models.domainModel.Luchthaven;

public class UpdateLuchthavenService {
	public static ToevoegenLuchthavenModel getLuchthavenModel() {
		ToevoegenLuchthavenModel model = new ToevoegenLuchthavenModel();
		
		return model;
	}
	
	public static void fillLuchthavenModel(ToevoegenLuchthavenModel model) {
		// Haal de gegevens van de luchthaven op
		Luchthaven luchthaven = LuchthavenDAO.getLuchthavenByLuchthavenId(model.getLuchthavenId());
		
		// Haal de adresgegevens van de luchthaven op.
		Adres adres = AdresDAO.getAdresByAdresId(luchthaven.getAdres().get_adresId());
		
		// Voeg het adres-object toe aan het luchthaven-object
		luchthaven.setAdres(adres);
		
		// Voeg de luchthaven toe aan het model
		model.setNieuweLuchthaven(luchthaven);
	}
	
	public static void updateLuchthaven(ToevoegenLuchthavenModel model) {
		// Update de luchthaven
		LuchthavenDAO.updateLuchthaven(
				model.getLuchthavenId(), 
				model.getCode(), 
				model.getNaam());
		
		// Update het adres van de luchthaven
		AdresDAO.updateAdres(
				model.getAdres().get_adresId(), 
				model.getAdres().getStraat(),
				model.getAdres().getHuisnummer(),
				model.getAdres().getBus(),
				model.getAdres().getGemeente(),
				model.getAdres().getPostcode(),
				model.getAdres().getStaatProvincie(),
				model.getAdres().getLand());
	}
}
